package net.sf.plaf.glossy;

import java.awt.Insets;

import javax.swing.UIDefaults;
import javax.swing.plaf.InsetsUIResource;
import javax.swing.plaf.basic.BasicLookAndFeel;

/**
 * @author Sabuj Das | sabuj.das@gmail.com
 *
 */
public class GlossyLookAndFeel extends BasicLookAndFeel {

	private static final long serialVersionUID = 6668466575962222605L;
	
	static final Insets EMPTY_UIRESOURCE_INSETS = new InsetsUIResource(0, 0, 0, 0);
	
	@Override
	public String getName() {
		return "Glossy";
	}

	@Override
	public String getID() {
		return "Glossy";
	}

	@Override
	public String getDescription() {
		return "Glossy Look & Feel";
	}

	@Override
	public boolean isNativeLookAndFeel() {
		return false;
	}

	@Override
	public boolean isSupportedLookAndFeel() {
		return true;
	}
	
	public boolean getSupportsWindowDecorations() {
        return true;
    }
	
	protected void initClassDefaults(UIDefaults table){
		super.initClassDefaults(table);
        final String glossyPackageName = "net.sf.plaf.glossy.";
        
        Object[] uiDefaults = {
		                "ButtonUI", glossyPackageName + "GlossyButtonUI",
		              "CheckBoxUI", glossyPackageName + "GlossyCheckBoxUI",
		              "ComboBoxUI", glossyPackageName + "GlossyComboBoxUI",
		           "DesktopIconUI", glossyPackageName + "GlossyDesktopIconUI",
		           "FileChooserUI", glossyPackageName + "GlossyFileChooserUI",
		         "InternalFrameUI", glossyPackageName + "GlossyInternalFrameUI",
		                 "LabelUI", glossyPackageName + "GlossyLabelUI",
		    "PopupMenuSeparatorUI", glossyPackageName + "GlossyPopupMenuSeparatorUI",
		           "ProgressBarUI", glossyPackageName + "GlossyProgressBarUI",
		           "RadioButtonUI", glossyPackageName + "GlossyRadioButtonUI",
		             "ScrollBarUI", glossyPackageName + "GlossyScrollBarUI",
		            "ScrollPaneUI", glossyPackageName + "GlossyScrollPaneUI",
		             "SeparatorUI", glossyPackageName + "GlossySeparatorUI",
		                "SliderUI", glossyPackageName + "GlossySliderUI",
		             "SplitPaneUI", glossyPackageName + "GlossySplitPaneUI",
		            "TabbedPaneUI", glossyPackageName + "GlossyTabbedPaneUI",
		             "TextFieldUI", glossyPackageName + "GlossyTextFieldUI",
		          "ToggleButtonUI", glossyPackageName + "GlossyToggleButtonUI",
		               "ToolBarUI", glossyPackageName + "GlossyToolBarUI",
		               "ToolTipUI", glossyPackageName + "GlossyToolTipUI",
		                  "TreeUI", glossyPackageName + "GlossyTreeUI",
		              "RootPaneUI", glossyPackageName + "GlossyRootPaneUI",
        };

        table.putDefaults(uiDefaults);
	}

	protected void initSystemColorDefaults(UIDefaults table){
		
	}
}
